Encrypting License Manager Messages

Starting RMS 9.8.1, an industry-standard secret-key authenticated encryption is used to secure the RMS License Manager communication, by default. Any existing implementation of enhanced security using custom encryption/decryption (described in this section) will not work with this default encryption. If you still choose to use the proprietary algorithm-based communication and want to apply this additional encryption, you will need to obtain the License Manager Compatibility-Mode Library from Technical Support and follow the guidelines on using it.

In case of standalone licensing, since the License Manager module is part of the licensing library itself, this extra layer of customized encryption is not required.

Executables Need to be Rebuild

>The License Manager executable

>The client application

Refer to How to Use the custom32.mak File?.

Description

Provides the vendor-specified extra layer of encryption and decryption for communication between a client and the License Manager.

Function Prototype

int VLSencryptMsg
(
   char *decrypted_mesg,          
   char *encrypted_mesg,          
   int   size                     
);

Returns

>Returns 0 (zero) on success.

>Returns non-zero on failure.

Parameter

Description

decrypted_mesg

An IN parameter.

The original network message.

encrypted_mesg

An OUT parameter.

The encrypted network message.

size

An IN parameter.

The size of the encrypted_mesg buffer.

Function Prototype

int VLSdecryptMsg
(
   char *encrypted_mesg,          
   char *decrypted_mesg,          
   int   size                     
);

Returns

>Returns 0 (zero) on success.

>Returns non-zero on failure.

Parameter

Description

encrypted_mesg

An IN parameter.

The encrypted network message.

decrypted_mesg

An OUT parameter.

The original network message.

size

An IN parameter.

The size of the decrypted_mesg buffer.

Steps to Perform

1. Create the VLSencryptMsg function.

2. Create the VLSdecryptMsg function.

3. Update the ENCRYPT_MSG_OBJS variable in the custom32.mak file.

4. Update the DECRYPT_MSG_OBJS variable in the custom32.mak file.

5.Follow the build procedure specified in How to Use the custom32.mak File?.

Code Snippets

Refer to the code snippets of VLSencryptLicense and VLSdecryptLicense.